// 管理当前项目所有的数据请求   

axios.defaults.baseURL = 'http://api-breakingnews-web.itheima.net'
// axios.defaults.headers.common['Authorization'] = localStorage.getItem('token');
const token = localStorage.getItem('token');

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  console.log(config.url);
  // startsWith() 字符串的方法,判断以什么开头
  
  // 判断如果不是以/api开头,给当前的请求头添加 token验证
  if (!config.url.startsWith('/api')) {
    config.headers.Authorization = token
  }
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  console.log('响应拦截器', response);

  const { message, status } = response.data
  // console.log(message, status);
  layer.msg(message)

  return response;
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});



// function RegAPI(data, callback) {
//   axios({
//     method: 'POST',
//     url: 'http://api-breakingnews-web.itheima.net/api/reguser',
//     data
//   }).then(({ data: res }) => {
//     // 等待合适的时机 ===> 请求成功了
//     callback(res)
//   })
// }

/**
 * 注册请求
 * POST
 * /api/reguser
 * key=value&key=value
*/
const RegAPI = (data, callback) => {
  axios({
    method: 'POST',
    url: '/api/reguser',
    data
  }).then(({ data: res }) => {
    // 等待合适的时机 ===> 请求成功了
    callback(res)
  })
}

/**
 * 登录
 * POST
 * /api/login
*/
const LoginApi = (data, callback) => {
  axios({
    method: 'POST',
    url: '/api/login',
    data
  }).then(({ data: res }) => {
    callback(res)
  })
}

/**
 * 获取用户信息
 * get
 * /my/userinfo
 * 需要token 自定义请求头
 * */

const userInfoApi = (callback) => {

  axios({
    method: 'GET',
    url: '/my/userinfo'
    // // 自定义请求头
    // headers: {
    //   Authorization: localStorage.getItem('token')
    // }
  }).then(({ data: res }) => {
    callback(res)
  })
}